home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / xml / SOX2Writer$AttrProxy.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  3.6 KB  |  87 lines

  1. package com.extensibility.xml;
  2.  
  3. import com.extensibility.xml.dt.DataTypeFactory;
  4. import com.extensibility.xml.dt.Facet;
  5.  
  6. public class SOX2Writer$AttrProxy extends SOX2Writer.DeclProxy {
  7.    // $FF: synthetic field
  8.    final SOX2Writer this$0;
  9.    AttributeDeclaration decl;
  10.  
  11.    SOX2Writer$AttrProxy(SOX2Writer var1) {
  12.       super(var1);
  13.       this.this$0 = var1;
  14.    }
  15.  
  16.    SOX2Writer$AttrProxy(SOX2Writer var1, AttributeDeclaration var2) {
  17.       super(var1);
  18.       this.this$0 = var1;
  19.       this.setDecl(var2);
  20.    }
  21.  
  22.    void setDecl(AttributeDeclaration var1) {
  23.       this.decl = var1;
  24.       super.setDecl(var1);
  25.    }
  26.  
  27.    public void write(SXE var1, boolean var2) {
  28.       if (!this.decl.isOwnerDeclared() || this.this$0.isPreviewing()) {
  29.          this.writeType(var1, var2);
  30.       }
  31.  
  32.    }
  33.  
  34.    void writeDataType(SXE var1, boolean var2) {
  35.       if (!this.decl.getDataType().equals(1)) {
  36.          if ((this.decl.getDataType().hasFacet(Facet.FACET_ENUM_NAME) || this.decl.getDataType().hasFacet(Facet.FACET_MAXLENGTH_NAME) || this.decl.getDataType().hasFacet(Facet.FACET_MINEX_NAME) || this.decl.getDataType().hasFacet(Facet.FACET_MAXEX_NAME) || this.decl.getDataType().hasFacet(Facet.FACET_MIN_NAME) || this.decl.getDataType().hasFacet(Facet.FACET_MAX_NAME) || this.decl.getDataType().hasFacet(Facet.FACET_DECIMALS_NAME) || this.decl.getDataType().hasFacet(Facet.FACET_DIGITS_NAME)) && !DataTypeFactory.isKnown(this.decl.getDataType())) {
  37.             if (var2) {
  38.                ((SOX2Writer.DeclProxy)this).writeComments(var1);
  39.             }
  40.  
  41.             SOX2Writer.access$2000271(this.this$0, var1, this.decl, this.decl.getDataType(), false);
  42.          } else {
  43.             SOX2Writer.access$2000371(this.this$0, var1, this.decl.getDataType(), false);
  44.             if (var2) {
  45.                ((SOX2Writer.DeclProxy)this).writeComments(var1);
  46.             }
  47.          }
  48.       } else if (var2) {
  49.          ((SOX2Writer.DeclProxy)this).writeComments(var1);
  50.       }
  51.  
  52.    }
  53.  
  54.    void writeType(SXE var1, boolean var2) {
  55.       var1.writeElem("attdef", -1);
  56.       String var3 = this.decl.getName();
  57.       if (var3.indexOf(":") > 0) {
  58.          String var4 = var3.substring(0, var3.indexOf(":"));
  59.          String var5 = var3.substring(var3.indexOf(":") + 1);
  60.          var1.writeAttr("name", var5);
  61.          var1.writeAttr("prefix", var4);
  62.       } else {
  63.          var1.writeAttr("name", var3);
  64.       }
  65.  
  66.       ((SOX2Writer.DeclProxy)this).writeMetaProps(var1);
  67.       this.writeDataType(var1, var2);
  68.       if (this.decl.getDefault() != null) {
  69.          if (!this.decl.getRequired()) {
  70.             var1.writeElem("default", -1);
  71.             var1.writeText(this.this$0.schema.expandPERefs(this.decl.getDefault(), this.decl));
  72.             var1.flush("default");
  73.          } else {
  74.             var1.writeElem("fixed", -1);
  75.             var1.writeText(this.this$0.schema.expandPERefs(this.decl.getDefault(), this.decl));
  76.             var1.flush("fixed");
  77.          }
  78.       } else if (this.decl.getRequired()) {
  79.          var1.writeElem("required", true);
  80.       } else if (this.decl.getDefault() == null) {
  81.          var1.writeElem("implied", true);
  82.       }
  83.  
  84.       var1.flush("attdef");
  85.    }
  86. }
  87.